home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 5
/
Aminet 5 - March 1995.iso
/
Aminet
/
dev
/
m2
/
Turbo_1.lha
/
modula
/
ansi-c
/
String.def
< prev
next >
Wrap
Text File
|
1994-11-08
|
3KB
|
80 lines
DEFINITION FOR C MODULE String ;
(*----------------------------------------------------------------------------*)
(* Parameter names prefixed with c ( cs or ct ) imply that the function does *)
(* not modify the parameter. *)
(* NB:Lazer M2 has a built in SYSTEM.STRING type , which is compatible *)
(* with both character arrays and "string" contants, so you can pass a string *)
(* constant or character array to any STRING formal parameter. *)
(* Also function procedures in a "FOR C" definition module can be treated as *)
(* proper procedures IOWs its possible to ignore the result type from funtions*)
(* like strcat & printf etc. *)
(*----------------------------------------------------------------------------*)
FROM SYSTEM IMPORT ADDRESS , STRING ;
PROCEDURE strlen( cs : STRING ) : LONGINT ;
(* returns length of cs *)
PROCEDURE strcmp( cs , ct : STRING ) : LONGINT ;
(* compare cs to ct, returns <0 if cs<ct ,0 if cs=ct ,>0 otherwise *)
PROCEDURE strncmp( cs , ct : STRING ; n : LONGINT ) : LONGINT ;
(* compare at most n characters of cs to ct , result as strcmp *)
PROCEDURE strcat( s , ct : STRING ) : STRING ;
(* concatenate ct to end of s , returns s *)
PROCEDURE strncat( s , ct : STRING ; n : LONGINT ) : STRING ;
(* concatenate at most n characters of ct to end of s , terminate *)
(* s with 0C , returns s. *)
PROCEDURE strcpy( s , ct : STRING ) : STRING ;
(* copy ct to s including null terminator , returns s *)
PROCEDURE strncpy( s , ct : STRING ; n : LONGINT ) : STRING ;
(* copy first n characters of ct to s , pads with 0C's if t has fewer chars *)
(* than n. *)
PROCEDURE strerror( i : LONGINT ) : STRING ;
(* string corresponding to error number i see errno.def *)
PROCEDURE strchr( cs : STRING ; c : CHAR ) : STRING ;
(* pointer to first occurrence of c in s , NIL if not found *)
PROCEDURE strrchr( cs : STRING ; c : CHAR ) : STRING ;
(* pointer to last occurrence of c in s , NIL if not found *)
PROCEDURE strspn( cs , ct : STRING ) : LONGINT ;
(* length of prefix of cs consisting of characters in ct *)
PROCEDURE strcspn( cs , ct : STRING ) : LONGINT ;
(* length of prefix of cs consisting of characters NOT in ct *)
PROCEDURE strpbrk( cs , ct : STRING ) : STRING ;
(* return pointer to first occurrence in cs of any character of ct, NIL if no *)
(* occurrence *)
PROCEDURE strstr( cs , ct : STRING ) : STRING ;
(* pointer to first occurrence of ct in cs , NIL if not found *)
PROCEDURE strtok( s , ct : STRING ) : STRING ;
(* no time to describe this one , see any good ANSI-C book *)
PROCEDURE memcmp ( cs , ct : ADDRESS ; n : LONGINT ) : LONGINT ;
(* compare at most n bytes of cs to ct , result as strcmp (above) *)
PROCEDURE memcpy ( s , ct : ADDRESS ; n : LONGINT ) : ADDRESS ;
(* copy n bytes from ct to s , returns s *)
PROCEDURE memmove( s , ct : ADDRESS ; n : LONGINT ): ADDRESS ;
(* as memcpy but s & ct can overlap *)
PROCEDURE memset( s : ADDRESS ; b : CHAR ; n : LONGINT ) : ADDRESS ;
(* place b into first n locations of s , returns s *)
PROCEDURE memchr( cs : ADDRESS ; b : CHAR ; n : LONGINT ) : ADDRESS ;
(* return pointer to the first occurrence of b in cs, or NIL if not found *)
END String.